//有序数组（输入）的插入
/*向一个有序数组a中插入一个数据,使其依然保持有序性。
  如数组a={1,3,5,7,9},插入4后的a是{1,3,4,5,7,9}。
  提示：
  用户输入一个数值后，从数组最后一个值开始判断，如果输入值小于
  数组元素，则数组元素值复制到后一个位置（输入值至少要放到数组
  元素的前面），直到不满足条件为止（数组已到头部，或者输入值大
  于等于数组元素值），将输入值赋值到该位置。注意数组a要有足够空间。*/ 

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    
    int a[n + 1]; 

    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    
    int key;
    scanf("%d", &key);
    
    int i = n - 1;
    while (i >= 0 && a[i] > key) {
        a[i + 1] = a[i]; 
        i--;
    }
    a[i + 1] = key; 

    for (int j = 0; j <= n; j++) {
        printf(" %d", a[j]);
    }
    printf("\n");
    
    return 0;
}